Questa domanda avrebbe ottenuto più risposte su un forum di grafica, cmq devi ottenere il colore di un pixel e cambiarlo con un colore che abbia coordinate RGB più simili al colore che deve apparire alla fine, mi spiego meglio: se decidi che l'animazione deve durare 10 fotogrammi il computer dovrà generare 10 immagini (da visualizzare sullo schermo a distanza di 40 millisecondi per generare l'effetto voluto) si prelevano quindi le quantità di rosso, verde e blu (che sono valori numerici compresi fra 0 e 255) di ogni pixel dall'immagine di partenza e poi si fa lo stesso dall'immagine finale, si fa la differenza (se la differenza viene negativa non importa, usa variabili adeguate come per esempio integer conosciuta anche come int32) quindi si divide la differenza per il numero di fotogrammi, questo numero lo si aggiunge alle quantità di rosso, si ripete il procedimento e si aggiunge alle quantità di verde,ripetere il procedimento e aggiungere alle quantità di blu, così per ogni pixel (ricordati di creare un colore dalle tre variabili numeriche usando: [nome della variabile di tipo color] = Color.FromArgb([red as integer], [green as integer], [blue as integer]). per il secondo fotogramma si fa esattamente lo stesso solo che invece di dividere la differenza per il numero di fotogrammi la si divide per il numero di fotogrammi - 1 (uno è già stato fatto) e così via fino alla fine.
questo è ciò che eseguirà il computer, forse il problema maggiore sarà scrivere le istruzioni.
|